package org.ehe.system.service;

import org.ehe.common.mybatis.core.page.PageQuery;
import org.ehe.common.mybatis.core.page.TableDataInfo;
import org.ehe.system.domain.bo.HrEmployeeAttachmentBo;
import org.ehe.system.domain.vo.HrEmployeeAttachmentVo;

import java.util.Collection;
import java.util.List;

/**
 * 员工附件Service接口
 *
 * @author zhangnn
 */
public interface IHrEmployeeAttachmentService {

    /**
     * 查询员工附件
     *
     * @param attachmentId 附件主键
     * @return 员工附件
     */
    HrEmployeeAttachmentVo queryById(Long attachmentId);

    /**
     * 根据工号查询员工附件列表
     *
     * @param employeeNo 工号
     * @return 员工附件集合
     */
    List<HrEmployeeAttachmentVo> queryListByEmployeeNo(String employeeNo);

    /**
     * 查询员工附件列表
     *
     * @param bo 员工附件
     * @return 员工附件集合
     */
    TableDataInfo<HrEmployeeAttachmentVo> queryPageList(HrEmployeeAttachmentBo bo, PageQuery pageQuery);

    /**
     * 查询员工附件列表
     *
     * @param bo 员工附件
     * @return 员工附件集合
     */
    List<HrEmployeeAttachmentVo> queryList(HrEmployeeAttachmentBo bo);

    /**
     * 新增员工附件
     *
     * @param bo 员工附件
     * @return 结果
     */
    Boolean insertByBo(HrEmployeeAttachmentBo bo);

    /**
     * 修改员工附件
     *
     * @param bo 员工附件
     * @return 结果
     */
    Boolean updateByBo(HrEmployeeAttachmentBo bo);

    /**
     * 批量删除员工附件
     *
     * @param attachmentIds 需要删除的附件主键集合
     * @return 结果
     */
    Boolean deleteByIds(Collection<Long> attachmentIds);

}
